package kr.hkit.powerjava.chapter22.mywork;

import java.util.ArrayList;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;


/**
 * @author hkit
 * 1. 학생추가(학번, 성명, 국어, 영어, 수학)
 * 2. 학생검색(학번과 성명) - 검색되면 정보 출력syso(stdList(indexof)) / 없으면 없다고 출력
 * 3. 학생정보수정(수정할 학생정보 - 검색 - getset으로 변경) - 국어 영어 수학
 * 4. 학생리스트출력
 * 	1. 총점순 2. 이름순(hashcode) 디폴트: list순서
 * 
 * 	맨 처음에는 리스트 나오고 메뉴
 * 	메뉴는 dowhile
 *
 */
public class PgMain {

	public static void main(String[] args) {
		
		ArrayList<Department> deptList = new ArrayList<>();
		DepartmentDAO deptDao = new DepartmentDAO(deptList);
		
		deptDao.addItem(new Department(1, "컴공", 4));
		deptDao.prnList();
		
		
		/*
		ArrayList<Student> stdList = new ArrayList<>();
		initList(stdList);

		StudentManage sm = new StudentManage(stdList);

		int choice = 0;
		Student std;

		do {
			System.out.println("메뉴를 선택하세요");
			try {
				choice = Integer
						.parseInt(JOptionPane
								.showInputDialog("1. 추가 2. 검색 3. 수정 4. 삭제 5.리스트 출력 6. 종료"));
			} catch (NumberFormatException e) {
				choice = 6;
			}
			switch (choice) {
			case 1:// 추가
				std = inputStd(true);//5개 입력
				sm.addItem(std);
				break;
			case 2:// 검색
				std = inputStd(false);//2개입력
				std = sm.searchItem(std);
				if (std == null) {
					System.out.println("해당 학생 없음");
				} else {
					System.out.println(std);
					JOptionPane.showMessageDialog(null, std);
				}
				break;
			case 3:// 수정
				std = inputStd(false);//2개입력
				sm.updateItem(std);
				break;
			case 4:// 삭제
				std = inputStd(false);
				sm.delItem(std);
				break;
			case 5:// 리스트출력
				sm.prnList();
				break;
			default:
				break;
			}
		} while (choice < 6);*/
	}

	public static Student inputStd(boolean scores){
		int stdNum;
		String stdName;
		if(scores){
			String std = JOptionPane.showInputDialog("학번 이름 국어성적 영어성적 수학성적 순으로 입력");
			StringTokenizer st = new StringTokenizer(std);
			stdNum = Integer.parseInt(st.nextToken());
			stdName = st.nextToken();
			int kor = Integer.parseInt(st.nextToken());
			int eng = Integer.parseInt(st.nextToken());
			int math = Integer.parseInt(st.nextToken());
			return new Student(stdNum, stdName, kor, eng, math);
		}else{
			String std = JOptionPane.showInputDialog("학번 이름 입력");
			StringTokenizer st = new StringTokenizer(std);
			stdNum = Integer.parseInt(st.nextToken());
			stdName = st.nextToken();
			return new Student(stdNum, stdName);
		}
	}

	private static void initList(ArrayList<Student> stdList) {
		stdList.add(new Student(1, "김태희", 87, 87, 87));
		stdList.add(new Student(2, "이민정", 90, 87, 87));
		stdList.add(new Student(3, "이소은", 70, 70, 87));
		stdList.add(new Student(4, "남주호", 60, 65, 65));
		stdList.add(new Student(5, "신한욱", 50, 55, 50));
		stdList.add(new Student(6, "이민정", 90, 87, 100));
	}
}
